package com.ad.platform.service;

import com.ad.payload.dto.PfAdvertisementDto;
import com.ad.payload.dto.PfAdvertisementRenewDto;
import com.ad.payload.model.PageView;
import com.ad.payload.vo.PfAdvertisementVo;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * <p>
 *     广告 服务类
 * </p>
 *
 * @author rclia
 * @since 2021-03-17
 */
public interface IPfAdvertisementService {

    /**
     * 新增/更新广告信息
     * @param pfAdvertisementDto
     * @return
     */
    boolean saveOrUpdate(@Valid PfAdvertisementDto pfAdvertisementDto);

    /**
     * web端分页查询广告信息
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageView<PfAdvertisementVo> selectPage(long pageNo, long pageSize);


    /**
     * 删除广告信息
     * @param id
     * @return
     */
    boolean removeById(@NotNull(message = "id不能为空") Long id);

    /**
     * 广告续费
     * @param pfAdvertisementRenewDto
     * @return
     */
    boolean adRenew(@Valid PfAdvertisementRenewDto pfAdvertisementRenewDto);

    /**
     * 随机查询8条广告信息 (小程序首页访问)
     * @return
     */
    List<PfAdvertisementVo> randomListPfAdvertisement();
}
